home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / mdf145.zip / MDF_ENG.DOC < prev    next >
Text File  |  1995-08-21  |  13KB  |  412 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.                                   MDIFF  -  MPATCH
  12.                                     Release  1.45
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.       Simple but complete program to produce and apply patches to your programs
  27.               and data files for Dos, OS/2, Windows 95 and Windows NT.
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.                                   English version.
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.                   (C) 1995/96 Maurizio Giunti - All rights reserved
  52.  
  53.  
  54.  
  55.  
  56.  
  57.      1.INDEX
  58.  
  59.  
  60.      1.INDEX                                                                  2
  61.  
  62.  
  63.      2.DISCLAIMER                                                             3
  64.  
  65.  
  66.      3.WARRANTY                                                               3
  67.  
  68.  
  69.      4.WHY?                                                                   3
  70.  
  71.  
  72.      5.WHAT MDIFF-MPATCH DO?                                                  3
  73.  
  74.  
  75.      6.DOS, OS/2, WINDOWS 95 AND WINDOWS NT                                   3
  76.  
  77.  
  78.      7.LIMITS                                                                 3
  79.  
  80.  
  81.      8.MDIFF - MDIFF2 - MDIFFW                                                4
  82.  
  83.  
  84.      9.MPATCH - MPATCH2 - MPATCHW                                             4
  85.  
  86.  
  87.      10.MDF2EXE - MDF2EXE2 - MDF2EXEW                                         5
  88.  
  89.  
  90.      11.ADVICES                                                               5
  91.  
  92.  
  93.      12.LIBRARIES TO APPLY PATCHES                                            5
  94.  
  95.  
  96.      13.HOW TO REGISTER                                                       6
  97.  
  98.  
  99.      14.ACKNOWLEDGEMENTS                                                      6
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.                                                                               2
  112.  
  113.  
  114.  
  115.  
  116.  
  117.      2.DISCLAIMER
  118.      This software belongs to Shareware programs: anyone can freely distribute
  119.      and use it for a trial period of 15 days.  After this  period, users that
  120.      continue to use it must register  their copy by sending the  registration
  121.      fee to the  author, Maurizio Giunti.
  122.      The registered users will receive a "registration key".
  123.      Tis sofware can  be freely distributed  at no cost,  except for  eventual
  124.      copy and/or shipping expensee. It is imperative anyway that  the ORIGINAL
  125.      PACKET is distributed without any modification WHATSOEVER.
  126.      There is an  exception: you  can distribute  MPATCH.EXE (or  MPATCH2.EXE)
  127.      with one or more *.MDF files produced with a REGISTERED copy of MDIFF.
  128.  
  129.  
  130.  
  131.        WARRANTY     3.
  132.      The only warranty that  comes with this software  is that it will  occupy
  133.      disk space. I absolutely can NOT warrant that it will perfectly  work, or
  134.      that it will be your problems' solution.
  135.      Nevertheless, it is not a virus and does not contain (unless  infected or
  136.      modified after  the   compilation) Trojan-horses,  backdoors and  similar
  137.      tricky garbage.  In any  case, the  author is  not responsible   for  any
  138.      damage, moral or material, direct or indirect, derived from its use.
  139.  
  140.  
  141.  
  142.        WHY?     4.
  143.      A few month ago I was updating a program of mine: the  commpressed packet
  144.      was about 200 Kbytes I thought it was better to use a patch,  but I could
  145.      not find a program of my satisfaction among the patch makers/appliers. In
  146.      addition I could not trace a program that could run under DOS and OS/2.
  147.      I decided to make my own patch software and.....here it is ! 8-)
  148.  
  149.  
  150.  
  151.        WHAT MDIFF-MPATCH DO?     5.
  152.      MDIFF creates a binary difference between two files. With MPATCH  and the
  153.      older file you can create a  new file using the difference file.  What is
  154.      the advantage? Usually the difference file is smaller and  therefore more
  155.      suitable for distribution, especially by modem.
  156.  
  157.  
  158.  
  159.      6.DOS, OS/2, WINDOWS 95 AND WINDOWS NT
  160.      I obtain MDIFF and  MPATCH for Dos, OS/2  and Windows32 by compiling  the
  161.      same source, so there is NO difference between them.  Moreover difference
  162.      files produced with MDIFF for Dos  can be used with   MPATCH for OS/2  or
  163.      Windows32 and vice-versa.
  164.  
  165.  
  166.  
  167.      7.LIMITS
  168.      MDIFF can't work  on files  greater than 16  Mbytes. There  are no  other
  169.      limits to MDIFF's work.
  170.  
  171.                                                                               3
  172.  
  173.  
  174.  
  175.  
  176.      Since its source  is the same  of Dos' MDIFF,  OS/2's MDIFF can't  manage
  177.      Extended Attributes: it will ignore them.
  178.  
  179.  
  180.  
  181.      8.MDIFF - MDIFF2 - MDIFFW
  182.      MDIFF compares  2 files  and stores  the differences  between  them in  a
  183.      difference file. This is the command line  syntax:
  184.  
  185.         MDIFF [-C<c>] [-R<r>] [-F<f>] [-S] [-Z] [-P<pwd>] <OldFile> <NewFile>
  186.                                      [<MDFfile>]
  187.  
  188.      <OldFile> is the name of the older file, <NewFile> is the name of the new
  189.      file. If you wish you can specify  the  name of the difference  file that
  190.      MDIFF will produce, otherwise MDIFF will  create a file with the name  of
  191.      the  new file but with the extension ".MDF".
  192.      To search differences between files, MDIFF  use a base string of  defined
  193.      length named Chunk. The Chunk length is  by default 16 bytes, but you can
  194.      change it, in the range 4-256, with the -C switch followed by the desired
  195.      length.
  196.      When MDIFF loses the synchronism between the two files being compared, it
  197.      scans the  older file  searching the   current  chunk.  This scansion  is
  198.      executed, by default, in a range of  8 blocks of 512 bytes each.  You can
  199.      change the number of the blocks  scanned, in the range 1-16, with  the -R
  200.      switch followed by the desired number of  blocks.
  201.      If this  search fails,  MDIFF tries  to force  synchronization through  a
  202.      large range search. This range is defined as 1/16 of the old file lenght,
  203.      but you can change it by the -F switch on the command line.
  204.      If you specify -S switch, MDIFF  will provide some information about  the
  205.      composition of the difference file.
  206.      Moreover you can add to the difference file produced a short comment (max
  207.      2 Kbytes) to display when the patch is applied, with the -Z switch. MDIFF
  208.      gets the comment  from standard  input, so you  can type  it directly  or
  209.      redirect it from a file with the "<" command.
  210.      You can also protect the patch by a password using the -P switch followed
  211.      by the password.
  212.  
  213.  
  214.  
  215.      9.MPATCH - MPATCH2 - MPATCHW
  216.      With the old  file and  the .MDF file  you can  rebuild the  new file  by
  217.      running MPATCH. This is the command line  syntax:
  218.  
  219.                  MPATCH [-P<pwd>] <MDFfile> [<OldFile> [<NewFile>]]
  220.  
  221.      MPATCH needs  only  the name  of  the  mdf file  (<MDFfile>)  because  it
  222.      contains the names of the other  2 files, but  it's possible  to override
  223.      these names specifying the desired names on the command line.  MPATCH has
  224.      only the -P switche by which you can specify a password.
  225.      If there  are  errors  during  the  patch  applying,  MPATCH  returns  an
  226.      errorlevel as follows:
  227.          0    "OK!"
  228.          1    "Out of memory !"
  229.          2    "Can't open MDF file !"
  230.          3    "Invalid MDF file !"
  231.                                                                               4
  232.  
  233.  
  234.  
  235.  
  236.          4    "MDF file version mismatch !"
  237.          5    "UNREGISTERED !"
  238.          6    "Bad or incorrect OLD file !"
  239.          7    "Can't open OLD file !"
  240.          8    "Can't create NEW file !"
  241.          9    "General failure: NEW file corrupted !"
  242.         10    "OLD and NEW can't be the same file !"
  243.         11    "NEW file was already patched !"
  244.         12    "Bad password !"
  245.  
  246.  
  247.  
  248.         MDF2EXE - MDF2EXE2 - MDF2EXEW     10.
  249.      MDF2EXE is a simple utility which transforms one or more (up to  127) MDF
  250.      patch files created by MDIFF, to an executable (Dos, OS/2  or Windows32),
  251.      self installing, file.
  252.      MDF2EXE syntax is:
  253.  
  254.            MDF2EXE <mdf_file 1> [<mdf_file 2>....<mdf file n>] <exe_file>
  255.  
  256.      Where <mdf_file x> can contain wildcards.
  257.      The <exe_file> (which MUST have .EXE extension) will be  executed without
  258.      any parameters on the command line. It will automatically search the file
  259.      to update.
  260.      Eventually you can use a -P switch to specify a password or the  -V or -L
  261.      switches to list the patches contained in the file.
  262.      Warning: don't compress a self installing patch by PKLite or LZexe.
  263.  
  264.  
  265.  
  266.         ADVICES     11.
  267.      The best method to build  a difference file, is  to search the chunks  of
  268.      the new file in the entire  older file, but this  is  a very slow way  to
  269.      do!
  270.      MDIFF's algorithm tries to give a  small diff file in the faster  way; so
  271.      you are sometimes required to tune the work  parameters with  the command
  272.      line switches.
  273.      Let's look at some typical situations:
  274.        Very similar files: use a  large chunk (32, 64  or more) to reduce  the     1. 
  275.        size of  the diff  file, in  particular if  the files  contain text  or
  276.        archives.
  277.      2.        Text files: try to use a  chunk size of 32,  sometimes it is better  to
  278.        turn the forced sync off or reduce its range by the -F switch.
  279.      3.        Very large executable: try to use  a larger resync range (16 or  more),
  280.        with the -R switch.
  281.      Remember: MDIFF  can't  make  miracles!  If  the  two  files  are  really
  282.      different, the patch will result very  large. In this situation you  must
  283.      distribute the entire new file. MDIFF  is useful only when the number  of
  284.      changes is limited.
  285.  
  286.  
  287.  
  288.         LIBRARIES TO APPLY PATCHES     12.
  289.      Up to release 1.40 I included in MDIFF distribution packet a set  of Dos,
  290.      Windows and OS/2 libraries to produce patcher programs.
  291.                                                                               5
  292.  
  293.  
  294.  
  295.  
  296.      Since I had no feedback and my  spare time had reduced, I decided  I will
  297.      not distribute them anymore.
  298.      I will try  to develope the  libraries but  I think I  will not  develope
  299.      their docs, so if you REALLY need them, please contact me.
  300.  
  301.  
  302.  
  303.         HOW TO REGISTER     13.
  304.      The individual registration key costs Italian Liras 25,000  (approx U.S.$
  305.      16.-). The  key is  valid for  DOS, OS/2  and Windows32  versions of  the
  306.      software up to release 1.99. The  registration key will be sent by  mail.
  307.      If explicity requested, it can also be sent via Internet e-mail.
  308.      The registration fee can be paid  according to your preference, by  check
  309.      or postal  order (in  Italy) or  International  Money Order  (I.M.O.)  or
  310.      Postalgiro, from abroad, payable to:
  311.  
  312.                                    Maurizio Giunti
  313.                                 Via G.B. Foggini, 24
  314.                                  50142 Firenze (FI)
  315.                                         ITALY
  316.  
  317.  
  318.      If you are in Europe you can also send me an Eurocheque in Italian Lire.
  319.      It is better to indicate on  the order the name  of the program you  want
  320.      to register, your name, address and FAX  number or e-mail  address (where
  321.      available). For  short notes,  use the  appropriate space  on the  postal
  322.      order (if present), or send an e-mail to Maurizio Giunti at:
  323.  
  324.                                 Fidonet: 2:332/102.3
  325.  
  326.                              Internet: giunti@abeline.it
  327.  
  328.  
  329.  
  330.         ACKNOWLEDGEMENTS     14.
  331.      I'd like to thank all  those who helped me  to develop this software  and
  332.      its documentation  and all  those  who   helped  me in  beta-testing.  In
  333.      alphabetical order:
  334.  
  335.                                    Andrea Baitelli
  336.  
  337.                                     Silvia Borri
  338.  
  339.                                     Filippo Dini
  340.  
  341.                                  Fabrizio Fioravanti
  342.  
  343.                                  Cristiano Guidoccio
  344.  
  345.                                 Giovanni Lopes Pegna
  346.  
  347.                                   Marco Maccaferri
  348.  
  349.                                   Marco Menichelli
  350.  
  351.                                                                               6
  352.  
  353.  
  354.  
  355.  
  356.                                    Giuseppe Scarpi
  357.  
  358.                                    Toni Tatafiore
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.                                                                               7
  412.